# load data.table for faster operations
library(data.table)
library(tidyverse)
# use fread for fast reading of data csv files
  # ColumnNameCleaner.rmd should be run first
cases <- fread("Data/time_series_covid19_confirmed_US.csv")
vaccineCounty <- fread("Data/Vaccination/COVID-19_Vaccinations_in_the_United_States_County.csv")
#vaccineJurisdiction <- fread("Data/Vaccination/COVID-19_Vaccinations_in_the_United_States_Jurisdiction.csv")
pop <- fread("Data/Population/co-est2019-alldata.csv")
distancing <- fread("Data/Distancing/Unacast_Social_Distancing_Grades.csv")
masking <- fread("Data/Masking/mask-use-by-county.csv")
# preview the data tables
head(cases)
head(vaccineCounty)
#head(vaccineJurisdiction)
head(distancing)
head(masking)
head(pop)
# either create or fix the FIPS column using available data
cases[, FIPS := sprintf("%05d", cases[,FIPS])]
pop[, FIPS := sprintf("%02d%03d", pop[,STATE], pop[,COUNTY])]
distancing[, FIPS := sprintf("%05d", county_fips)]
masking[, FIPS := sprintf("%05d", COUNTYFP)]
# drops unneeded columns
cases <- cases[, !c("V1", "UID", "iso2", "iso3", "code3", "CombinedKey")]
# selects the most recent population estimate (2019) and drops what will be redundant columns
years2019 <- grep("^([^0-9]*)$|2019", colnames(pop))
pop <- pop[, ..years2019][, !c("SUMLEV", "STATE", "COUNTY", "STNAME", "CTYNAME")]
# drops what will be redundant columns
distancing <- distancing[, !c("OBJECTID", "state_fips", "state_name", "county_fips", "county_name")]
masking <- masking[, !c("COUNTYFP")]
# set the FIPS column as the key for faster data.table operations
# time series
setkey(cases, FIPS)
setkey(vaccineCounty, FIPS)
setkey(distancing, FIPS)
# not time series
setkey(masking, FIPS)
setkey(pop, FIPS)
pivot_wider(vaccineCounty, names_from = Date, values_from = )
csv <- cases[pop,][distancing,][masking,]
write.csv(cases[pop,][distancing,][masking,], "Data/casesPopDistancingMasking.csv", row.names = FALSE)
csv
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCiMgbG9hZCBkYXRhLnRhYmxlIGZvciBmYXN0ZXIgb3BlcmF0aW9ucw0KbGlicmFyeShkYXRhLnRhYmxlKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpgYGANCg0KDQpgYGB7cn0NCiMgdXNlIGZyZWFkIGZvciBmYXN0IHJlYWRpbmcgb2YgZGF0YSBjc3YgZmlsZXMNCiAgIyBDb2x1bW5OYW1lQ2xlYW5lci5ybWQgc2hvdWxkIGJlIHJ1biBmaXJzdA0KY2FzZXMgPC0gZnJlYWQoIkRhdGEvdGltZV9zZXJpZXNfY292aWQxOV9jb25maXJtZWRfVVMuY3N2IikNCnZhY2NpbmVDb3VudHkgPC0gZnJlYWQoIkRhdGEvVmFjY2luYXRpb24vQ09WSUQtMTlfVmFjY2luYXRpb25zX2luX3RoZV9Vbml0ZWRfU3RhdGVzX0NvdW50eS5jc3YiKQ0KI3ZhY2NpbmVKdXJpc2RpY3Rpb24gPC0gZnJlYWQoIkRhdGEvVmFjY2luYXRpb24vQ09WSUQtMTlfVmFjY2luYXRpb25zX2luX3RoZV9Vbml0ZWRfU3RhdGVzX0p1cmlzZGljdGlvbi5jc3YiKQ0KcG9wIDwtIGZyZWFkKCJEYXRhL1BvcHVsYXRpb24vY28tZXN0MjAxOS1hbGxkYXRhLmNzdiIpDQpkaXN0YW5jaW5nIDwtIGZyZWFkKCJEYXRhL0Rpc3RhbmNpbmcvVW5hY2FzdF9Tb2NpYWxfRGlzdGFuY2luZ19HcmFkZXMuY3N2IikNCm1hc2tpbmcgPC0gZnJlYWQoIkRhdGEvTWFza2luZy9tYXNrLXVzZS1ieS1jb3VudHkuY3N2IikNCmBgYA0KDQoNCmBgYHtyfQ0KIyBwcmV2aWV3IHRoZSBkYXRhIHRhYmxlcw0KaGVhZChjYXNlcykNCmhlYWQodmFjY2luZUNvdW50eSkNCiNoZWFkKHZhY2NpbmVKdXJpc2RpY3Rpb24pDQpoZWFkKGRpc3RhbmNpbmcpDQpoZWFkKG1hc2tpbmcpDQpoZWFkKHBvcCkNCmBgYA0KDQoNCmBgYHtyfQ0KIyBlaXRoZXIgY3JlYXRlIG9yIGZpeCB0aGUgRklQUyBjb2x1bW4gdXNpbmcgYXZhaWxhYmxlIGRhdGENCmNhc2VzWywgRklQUyA6PSBzcHJpbnRmKCIlMDVkIiwgY2FzZXNbLEZJUFNdKV0NCnBvcFssIEZJUFMgOj0gc3ByaW50ZigiJTAyZCUwM2QiLCBwb3BbLFNUQVRFXSwgcG9wWyxDT1VOVFldKV0NCmRpc3RhbmNpbmdbLCBGSVBTIDo9IHNwcmludGYoIiUwNWQiLCBjb3VudHlfZmlwcyldDQptYXNraW5nWywgRklQUyA6PSBzcHJpbnRmKCIlMDVkIiwgQ09VTlRZRlApXQ0KYGBgDQoNCg0KYGBge3J9DQojIGRyb3BzIHVubmVlZGVkIGNvbHVtbnMNCmNhc2VzIDwtIGNhc2VzWywgIWMoIlYxIiwgIlVJRCIsICJpc28yIiwgImlzbzMiLCAiY29kZTMiLCAiQ29tYmluZWRLZXkiKV0NCiMgc2VsZWN0cyB0aGUgbW9zdCByZWNlbnQgcG9wdWxhdGlvbiBlc3RpbWF0ZSAoMjAxOSkgYW5kIGRyb3BzIHdoYXQgd2lsbCBiZSByZWR1bmRhbnQgY29sdW1ucw0KeWVhcnMyMDE5IDwtIGdyZXAoIl4oW14wLTldKikkfDIwMTkiLCBjb2xuYW1lcyhwb3ApKQ0KcG9wIDwtIHBvcFssIC4ueWVhcnMyMDE5XVssICFjKCJTVU1MRVYiLCAiU1RBVEUiLCAiQ09VTlRZIiwgIlNUTkFNRSIsICJDVFlOQU1FIildDQojIGRyb3BzIHdoYXQgd2lsbCBiZSByZWR1bmRhbnQgY29sdW1ucw0KZGlzdGFuY2luZyA8LSBkaXN0YW5jaW5nWywgIWMoIk9CSkVDVElEIiwgInN0YXRlX2ZpcHMiLCAic3RhdGVfbmFtZSIsICJjb3VudHlfZmlwcyIsICJjb3VudHlfbmFtZSIpXQ0KbWFza2luZyA8LSBtYXNraW5nWywgIWMoIkNPVU5UWUZQIildDQpgYGANCg0KDQpgYGB7cn0NCiMgc2V0IHRoZSBGSVBTIGNvbHVtbiBhcyB0aGUga2V5IGZvciBmYXN0ZXIgZGF0YS50YWJsZSBvcGVyYXRpb25zDQojIHRpbWUgc2VyaWVzDQpzZXRrZXkoY2FzZXMsIEZJUFMpDQpzZXRrZXkodmFjY2luZUNvdW50eSwgRklQUykNCnNldGtleShkaXN0YW5jaW5nLCBGSVBTKQ0KIyBub3QgdGltZSBzZXJpZXMNCnNldGtleShtYXNraW5nLCBGSVBTKQ0Kc2V0a2V5KHBvcCwgRklQUykNCmBgYA0KDQoNCmBgYHtyfQ0KcGl2b3Rfd2lkZXIodmFjY2luZUNvdW50eSwgbmFtZXNfZnJvbSA9IERhdGUsIHZhbHVlc19mcm9tID0gKQ0KYGBgDQoNCg0KYGBge3J9DQpjc3YgPC0gY2FzZXNbcG9wLF1bZGlzdGFuY2luZyxdW21hc2tpbmcsXQ0Kd3JpdGUuY3N2KGNhc2VzW3BvcCxdW2Rpc3RhbmNpbmcsXVttYXNraW5nLF0sICJEYXRhL2Nhc2VzUG9wRGlzdGFuY2luZ01hc2tpbmcuY3N2Iiwgcm93Lm5hbWVzID0gRkFMU0UpDQpjc3YNCmBgYA0KDQo=